package com.lili.collection.restful.base;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 参数定义
 *
 * @author: lili
 * @since: 2023/3/9 15:05
 */
@Data
public class ParameterDef implements Serializable {

    /**
     * uuid
     */
    private String uuid;

    /**
     * 键
     */
    private String key;

    /**
     * 普通属性和基本数组类型
     */
    private Object value;

    /**
     * 中文名称
     */
    private String name;

    /**
     * 描述
     */
    private String des;

    /**
     * 字段类型
     */
    private String fieldType;

    /**
     * 当fieldType为数组时，用ChildrenType表示数组元素的类型，暂不持之子类型也为数组。
     * 为兼容之前版本，当childrenType为7或空时表示子类型为对象
     */
    private String childrenType;


    /**
     * 字段长度
     */
    private Integer fieldLength;

    /**
     * 字段精度
     */
    private Integer fieldPrecision;

    /**
     * 是否必填
     */
    private Boolean must;

    /**
     * 对象和数组的属性定义
     */
    private List<ParameterDef> children;

}
